#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// 2.研究memset函数，自定义一个函数实现其功能

/*
 * str -- 指向要填充的内存区域的指针。
 * c -- 要设置的值，通常是一个无符号字符。
 * n -- 要被设置为该值的字节数。
 */
void *wyf_memset(void *str, int c, size_t n)
{
    char *s = str;
    for (size_t i = 0; i < n; i++)
    {
        *(s + i) = c;
    }
}

int main()
{
    char *str = (char *)malloc(6 * sizeof(char));
    strcpy(str, "Hello");
    printf("调用bzero函数前:%s\n", str);
    wyf_memset(str, 0, strlen(str));
    printf("调用bzero函数后:\n");
    for (int i = 0; i < 6; i++)
        printf("%c", str[i]);

    strcpy(str, "Hello");
    printf("\n调用bzero函数前:%s\n", str);
    wyf_memset(str, 0, 4);
    printf("调用bzero函数后:\n");
    for (int i = 0; i < 6; i++)
    {
        printf("%c", str[i]);
    }
    free(str);
}